Getting Started

Data load

[1]:
import pandas as pd
X = pd.read_csv('https://raw.githubusercontent.com/datax-lab/Hi-LASSO/master/simulation_data/X.csv')
y = pd.read_csv('https://raw.githubusercontent.com/datax-lab/Hi-LASSO/master/simulation_data/y.csv')
[2]:
X.head()
[2]:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 ... V91 V92 V93 V94 V95 V96 V97 V98 V99 V100
0 0.348426 0.517518 -0.152922 -0.529037 -0.761765 -0.521656 -0.283716 0.490174 0.260491 -0.273269 ... -1.594468 -2.296667 0.688847 -0.884829 0.147586 0.259268 -1.594399 -1.482207 1.597720 1.102619
1 0.585253 0.468142 0.270562 -0.697588 -0.073801 -0.487004 -0.282624 0.076316 0.220236 -0.703602 ... -1.391808 -0.824046 0.727239 -0.046264 -1.482356 -1.080878 0.451564 -0.785846 2.037206 0.526190
2 -0.301555 -0.901268 -0.486487 -0.221278 -0.374391 0.080040 -2.082875 -1.964580 -2.079053 -1.966530 ... 0.455793 2.248457 -1.362962 1.233083 -0.685365 0.315421 -0.695921 0.099969 1.589188 0.328288
3 -0.534475 -0.339979 -0.189170 1.250699 1.147584 0.574485 1.078780 0.024339 1.112345 1.119577 ... 0.105867 0.106110 1.911083 0.063714 0.054433 -0.293569 -2.066818 -0.376513 0.734963 -0.206481
4 0.097464 0.575279 0.353189 -0.816164 -0.769933 -0.224066 0.368319 0.407449 1.145179 0.726215 ... -0.132294 0.492144 0.991359 -1.561440 0.063365 -0.789509 1.067706 0.440007 1.675415 0.922870

5 rows × 100 columns

[3]:
y.head()
[3]:
V1
0 1.233550
1 6.753310
2 -1.866632
3 1.954930
4 1.194514

General Usage

[4]:
from hi_lasso.hi_lasso import HiLasso
hilasso = HiLasso(q1='auto', q2='auto', L=30, alpha=0.05, logistic=False, random_state=None, parallel=False, n_jobs=None)
hilasso.fit(X, y, sample_weight=None)
  0%|                                                                                         | 0/60 [00:00<?, ?it/s]
Procedure 1
100%|████████████████████████████████████████████████████████████████████████████████| 60/60 [01:02<00:00,  1.03s/it]
  3%|██▋                                                                              | 2/60 [00:00<00:03, 16.99it/s]
Procedure 2
100%|████████████████████████████████████████████████████████████████████████████████| 60/60 [00:03<00:00, 18.40it/s]
[4]:
<hi_lasso.hi_lasso.HiLasso at 0x1f41e360f48>
[5]:
hilasso.coef_
[5]:
array([ 0.46210394,  1.24552088,  0.        ,  0.90706553,  0.        ,
        0.        ,  2.23579843,  0.30876645,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
       -0.31372601,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
       -0.59941971,  0.        ,  0.        ,  0.        ,  1.04376768,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.41696402,  0.        ,
        0.        , -0.32200276, -0.36038398,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        , -0.44779802,  0.        ,  0.        ,  0.        ,
        0.        ,  0.37710895,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ])
[6]:
hilasso.p_values_
[6]:
array([5.08869776e-03, 2.11419331e-18, 9.99720318e-01, 1.24542123e-20,
       9.22045686e-01, 1.00000000e+00, 7.40877404e-29, 3.92122793e-02,
       9.98979737e-01, 1.00000000e+00, 1.00000000e+00, 9.99720318e-01,
       9.99998519e-01, 1.00000000e+00, 9.99720318e-01, 1.41450530e-04,
       6.93387034e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
       1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 9.99999995e-01,
       9.99999995e-01, 1.62235113e-05, 1.00000000e+00, 1.00000000e+00,
       1.00000000e+00, 1.71842539e-19, 9.98979737e-01, 1.00000000e+00,
       9.99999995e-01, 9.99999872e-01, 1.00000000e+00, 9.99720318e-01,
       9.99998519e-01, 1.00000000e+00, 9.99999872e-01, 1.00000000e+00,
       9.99999995e-01, 1.00000000e+00, 9.99999995e-01, 6.93387034e-01,
       9.99988764e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
       9.99999995e-01, 6.86046534e-02, 1.00000000e+00, 9.99999995e-01,
       1.00000000e+00, 9.99998519e-01, 2.57446165e-01, 1.00000000e+00,
       9.99988764e-01, 9.99999995e-01, 9.99999872e-01, 9.99999995e-01,
       1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 5.08869776e-03,
       9.58646715e-01, 9.99936916e-01, 4.99632744e-06, 1.62235113e-05,
       8.66299610e-01, 1.00000000e+00, 1.00000000e+00, 9.99999995e-01,
       9.99999872e-01, 1.00000000e+00, 9.99999872e-01, 2.57446165e-01,
       5.20130241e-09, 9.99936916e-01, 1.00000000e+00, 9.99999872e-01,
       6.93387034e-01, 2.34773777e-08, 1.00000000e+00, 1.00000000e+00,
       1.00000000e+00, 1.00000000e+00, 6.86046534e-02, 9.99999995e-01,
       9.99720318e-01, 1.00000000e+00, 1.00000000e+00, 9.99999995e-01,
       1.00000000e+00, 1.00000000e+00, 1.13056169e-01, 1.75622359e-01,
       9.22045686e-01, 6.93387034e-01, 9.99936916e-01, 1.00000000e+00])
[7]:
hilasso.intercept_
[7]:
0.6223126908082419

Parallel Processing Usage

If Parallel is set to ‘True’, parallel processing can be used for bootstrapping.

You can specify n_jobs(the number of cores) to use in parallel processing.

[8]:
from hi_lasso.hi_lasso import HiLasso
hilasso_parallel = HiLasso(q1='auto', q2='auto', L=30, alpha=0.05, logistic=False, random_state=None, parallel=True, n_jobs=None)
hilasso_parallel.fit(X, y, sample_weight=None)
  0%|                                                                                         | 0/60 [00:00<?, ?it/s]
Procedure 1
100%|████████████████████████████████████████████████████████████████████████████████| 60/60 [00:10<00:00,  5.73it/s]
  0%|                                                                                         | 0/60 [00:00<?, ?it/s]
Procedure 2
100%|████████████████████████████████████████████████████████████████████████████████| 60/60 [00:01<00:00, 31.52it/s]
[8]:
<hi_lasso.hi_lasso.HiLasso at 0x1f43d82b8c8>
[9]:
hilasso_parallel.coef_
[9]:
array([ 0.        ,  1.51419872,  0.        ,  0.87322631,  0.        ,
        0.        ,  2.23200103,  0.4323608 ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
       -0.2099277 ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
       -0.27517399,  0.        ,  0.        ,  0.        ,  0.9882923 ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.19367698,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.47607576, -0.27887515,  0.        ,  0.        ,  0.        ,
        0.42069865,  0.40714104,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  0.        ])
[11]:
hilasso_parallel.p_values_
[11]:
array([9.80448765e-01, 1.57407956e-27, 9.99958412e-01, 9.94516205e-25,
       9.99143705e-01, 1.00000000e+00, 1.91411057e-32, 2.61639765e-09,
       6.77919624e-01, 9.99993965e-01, 1.00000000e+00, 9.99143705e-01,
       9.99787731e-01, 9.99999973e-01, 9.99787731e-01, 8.31122195e-03,
       9.97154801e-01, 1.00000000e+00, 9.99993965e-01, 9.99999973e-01,
       9.99999973e-01, 9.99787731e-01, 1.00000000e+00, 1.00000000e+00,
       1.00000000e+00, 1.66201145e-03, 1.00000000e+00, 1.00000000e+00,
       9.99999424e-01, 9.94516205e-25, 9.57991693e-01, 1.00000000e+00,
       9.99999973e-01, 9.99999973e-01, 1.00000000e+00, 9.99143705e-01,
       1.00000000e+00, 9.99999973e-01, 9.99958412e-01, 1.00000000e+00,
       1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 3.24181317e-02,
       1.00000000e+00, 1.00000000e+00, 9.99999973e-01, 9.99999973e-01,
       1.00000000e+00, 9.57991693e-01, 9.99993965e-01, 9.99999424e-01,
       1.00000000e+00, 9.99999973e-01, 4.45406012e-01, 1.00000000e+00,
       9.99999973e-01, 1.00000000e+00, 9.99787731e-01, 9.99999424e-01,
       1.00000000e+00, 1.00000000e+00, 9.97154801e-01, 8.60318467e-01,
       9.91985777e-01, 8.60318467e-01, 1.57267909e-01, 2.35833514e-01,
       7.79033117e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
       1.00000000e+00, 1.00000000e+00, 9.99999424e-01, 9.96648055e-06,
       3.14407728e-05, 1.00000000e+00, 1.00000000e+00, 9.99993965e-01,
       2.61639765e-09, 9.31257597e-05, 9.99999973e-01, 9.99999424e-01,
       9.99999424e-01, 9.99993965e-01, 9.99787731e-01, 1.00000000e+00,
       9.99999424e-01, 1.00000000e+00, 1.00000000e+00, 9.99999424e-01,
       9.99999424e-01, 1.00000000e+00, 1.57267909e-01, 1.57267909e-01,
       9.99787731e-01, 9.91985777e-01, 1.00000000e+00, 1.00000000e+00])
[13]:
hilasso_parallel.intercept_
[13]:
0.6503488998795035